home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 4
/
Apprentice-Release4.iso
/
Languages
/
MacQForth 1.0
/
documentation
/
Memory Map
< prev
next >
Wrap
Text File
|
1995-03-24
|
2KB
|
73 lines
QForth Memory Usage
-------------------
QForth exists in a 64k space of memory. All of it is RAM as far as
QForth is concerned. This map shows how QForth uses memory and indicates
areas that can be safely used by machine and assembly language programs.
Special locations that contain traps for the simulator are also shown.
Care should be used to avoid overwriting these locations.
--------------------------------------------------------------------------------
Addresses in hex from $0000 - $FFFF ( 0 - 65535 )
$0000 - $00FF QForth scratch addresses, many locations available.
$0100 - $01FF 65C02 processor stack
$0200 - $02FF QForth text input buffer
$0300 - $07FF <unused> (normally $0400 - $07FF is the text screen )
$0800 - $0AFF QForth runtime scratchpad (PAD)
$0B00 - $0BFF Compiler immediate object code area
$0C00 - $0FFF ProDOS file buffer ( ProDOS buffers are really unused )
$1000 - $1FFF QForth file buffer
$2000 - $???? QForth system area
$??+1 - $9DFF QForth new word definitions
$9E00 - $A1FF ProDOS file buffer 2
$A200 - $A5FF ProDOS file buffer 1
$A600 - $A9FF ProDOS file buffer 0
$AA00 - $AAFF Runtime data stack area, grows downward
$AB00 - $ABFF Runtime return stack area
$AC00 - $ACFF Compiler stack area
$AD00 - $ADFF Compiler stack area 2
$AE00 - $AEFF Hashed array of linked list pointers
$AF00 - $BEFF Linked list of word pointer area
$BF00 - $BF01 ProDOS MLI entry point
$BF02 - $BF97 <unused>
$BF98 ------- MACHID byte, Apple IIe, 128k, 80-col., no clock
$BF99 - $C2FF <unused>
$C300 - $C301 80-col. card setup trap
$C302 - $FC21 <unused>
( locations above $FC21 unused except for the ones indicated below )
$FC22 ------- BASCALC patch ( these used in QForth init )
$FE89 ------- IN#0 patch
$FE93 ------- PR#0 patch
$FD0C - $FD0D getkey trap
$FD8B - $FD8C output cr trap
$FDED - $FDEF character out trap
$FDDA - $FDDB hex out trap
$FFFE - $FFFF address of BRK routine
$FFF0 - $FFFB "system monitor"
$FF80 - $FF8